package com.opentae.data.mall.examples;

import com.opentae.core.mybatis.SgExample;
import com.opentae.core.mybatis.example.EntityColumn;
import com.opentae.core.mybatis.example.EntityTable;
import com.opentae.core.mybatis.mapperhelper.EntityHelper;
import com.opentae.data.mall.beans.MoSpreadByBus;

import java.util.*;
public class MoSpreadByBusExample extends SgExample<MoSpreadByBusExample.Criteria> {
    public static final Class<MoSpreadByBus> beanClass = MoSpreadByBus.class;
    public static final EntityTable entityTable = EntityHelper.getEntityTable(beanClass);
    public static EntityColumn createTime;
    public static EntityColumn spreadId;
    public static EntityColumn spreadTo;
    public static EntityColumn spreadFrom;
    static {
        Set<EntityColumn> columns = entityTable.getEntityClassColumns();
        Map<String, EntityColumn> listMap = new HashMap<>();
        for (EntityColumn column : columns) {
            listMap.put(column.getProperty(), column);
        }
        createTime = listMap.get("createTime");
        spreadId = listMap.get("spreadId");
        spreadTo = listMap.get("spreadTo");
        spreadFrom = listMap.get("spreadFrom");
        }

    public MoSpreadByBusExample() {
        this.setTableAlias(entityTable.getName());
    }

    @Override
    public EntityTable getEntityTable() {
        return entityTable;
    }

    @Override
    protected MoSpreadByBusExample.Criteria createCriteriaInternal() {
        return new MoSpreadByBusExample.Criteria(this);
    }

    public static class Criteria extends SgExample.GeneratedCriteria<Criteria> {
        protected Criteria(SgExample example) {
            super(example);
        }

        public MoSpreadByBusExample.Criteria andCreateTimeIsNull() {
            return isNull(createTime);
        }

        public MoSpreadByBusExample.Criteria andCreateTimeIsNotNull() {
            return isNotNull(createTime);
        }

        public MoSpreadByBusExample.Criteria andCreateTimeEqualTo(Date value) {
            return equalTo(createTime, value);
        }

        public MoSpreadByBusExample.Criteria andCreateTimeNotEqualTo(Date value) {
            return notEqualTo(createTime, value);
        }

        public MoSpreadByBusExample.Criteria andCreateTimeGreaterThan(Date value) {
            return greaterThan(createTime, value);
        }

        public MoSpreadByBusExample.Criteria andCreateTimeGreaterThanOrEqualTo(Date value) {
            return greaterThanOrEqualTo(createTime, value);
        }

        public MoSpreadByBusExample.Criteria andCreateTimeLessThan(Date value) {
            return lessThan(createTime, value);
        }

        public MoSpreadByBusExample.Criteria andCreateTimeLessThanOrEqualTo(Date value) {
            return lessThanOrEqualTo(createTime, value);
        }

        public MoSpreadByBusExample.Criteria andCreateTimeIn(List<Date> values) {
            return in(createTime, values);
        }

        public MoSpreadByBusExample.Criteria andCreateTimeNotIn(List<Date> values) {
            return notIn(createTime, values);
        }

        public MoSpreadByBusExample.Criteria andCreateTimeBetween(Date value1, Date value2) {
            return between(createTime, value1, value2);
        }

        public MoSpreadByBusExample.Criteria andCreateTimeNotBetween(Date value1, Date value2) {
            return notBetween(createTime, value1, value2);
        }
        public MoSpreadByBusExample.Criteria andSpreadIdIsNull() {
            return isNull(spreadId);
        }

        public MoSpreadByBusExample.Criteria andSpreadIdIsNotNull() {
            return isNotNull(spreadId);
        }

        public MoSpreadByBusExample.Criteria andSpreadIdEqualTo(Long value) {
            return equalTo(spreadId, value);
        }

        public MoSpreadByBusExample.Criteria andSpreadIdNotEqualTo(Long value) {
            return notEqualTo(spreadId, value);
        }

        public MoSpreadByBusExample.Criteria andSpreadIdGreaterThan(Long value) {
            return greaterThan(spreadId, value);
        }

        public MoSpreadByBusExample.Criteria andSpreadIdGreaterThanOrEqualTo(Long value) {
            return greaterThanOrEqualTo(spreadId, value);
        }

        public MoSpreadByBusExample.Criteria andSpreadIdLessThan(Long value) {
            return lessThan(spreadId, value);
        }

        public MoSpreadByBusExample.Criteria andSpreadIdLessThanOrEqualTo(Long value) {
            return lessThanOrEqualTo(spreadId, value);
        }

        public MoSpreadByBusExample.Criteria andSpreadIdIn(List<Long> values) {
            return in(spreadId, values);
        }

        public MoSpreadByBusExample.Criteria andSpreadIdNotIn(List<Long> values) {
            return notIn(spreadId, values);
        }

        public MoSpreadByBusExample.Criteria andSpreadIdBetween(Long value1, Long value2) {
            return between(spreadId, value1, value2);
        }

        public MoSpreadByBusExample.Criteria andSpreadIdNotBetween(Long value1, Long value2) {
            return notBetween(spreadId, value1, value2);
        }
        public MoSpreadByBusExample.Criteria andSpreadToIsNull() {
            return isNull(spreadTo);
        }

        public MoSpreadByBusExample.Criteria andSpreadToIsNotNull() {
            return isNotNull(spreadTo);
        }

        public MoSpreadByBusExample.Criteria andSpreadToEqualTo(Long value) {
            return equalTo(spreadTo, value);
        }

        public MoSpreadByBusExample.Criteria andSpreadToNotEqualTo(Long value) {
            return notEqualTo(spreadTo, value);
        }

        public MoSpreadByBusExample.Criteria andSpreadToGreaterThan(Long value) {
            return greaterThan(spreadTo, value);
        }

        public MoSpreadByBusExample.Criteria andSpreadToGreaterThanOrEqualTo(Long value) {
            return greaterThanOrEqualTo(spreadTo, value);
        }

        public MoSpreadByBusExample.Criteria andSpreadToLessThan(Long value) {
            return lessThan(spreadTo, value);
        }

        public MoSpreadByBusExample.Criteria andSpreadToLessThanOrEqualTo(Long value) {
            return lessThanOrEqualTo(spreadTo, value);
        }

        public MoSpreadByBusExample.Criteria andSpreadToIn(List<Long> values) {
            return in(spreadTo, values);
        }

        public MoSpreadByBusExample.Criteria andSpreadToNotIn(List<Long> values) {
            return notIn(spreadTo, values);
        }

        public MoSpreadByBusExample.Criteria andSpreadToBetween(Long value1, Long value2) {
            return between(spreadTo, value1, value2);
        }

        public MoSpreadByBusExample.Criteria andSpreadToNotBetween(Long value1, Long value2) {
            return notBetween(spreadTo, value1, value2);
        }
        public MoSpreadByBusExample.Criteria andSpreadFromIsNull() {
            return isNull(spreadFrom);
        }

        public MoSpreadByBusExample.Criteria andSpreadFromIsNotNull() {
            return isNotNull(spreadFrom);
        }

        public MoSpreadByBusExample.Criteria andSpreadFromEqualTo(Long value) {
            return equalTo(spreadFrom, value);
        }

        public MoSpreadByBusExample.Criteria andSpreadFromNotEqualTo(Long value) {
            return notEqualTo(spreadFrom, value);
        }

        public MoSpreadByBusExample.Criteria andSpreadFromGreaterThan(Long value) {
            return greaterThan(spreadFrom, value);
        }

        public MoSpreadByBusExample.Criteria andSpreadFromGreaterThanOrEqualTo(Long value) {
            return greaterThanOrEqualTo(spreadFrom, value);
        }

        public MoSpreadByBusExample.Criteria andSpreadFromLessThan(Long value) {
            return lessThan(spreadFrom, value);
        }

        public MoSpreadByBusExample.Criteria andSpreadFromLessThanOrEqualTo(Long value) {
            return lessThanOrEqualTo(spreadFrom, value);
        }

        public MoSpreadByBusExample.Criteria andSpreadFromIn(List<Long> values) {
            return in(spreadFrom, values);
        }

        public MoSpreadByBusExample.Criteria andSpreadFromNotIn(List<Long> values) {
            return notIn(spreadFrom, values);
        }

        public MoSpreadByBusExample.Criteria andSpreadFromBetween(Long value1, Long value2) {
            return between(spreadFrom, value1, value2);
        }

        public MoSpreadByBusExample.Criteria andSpreadFromNotBetween(Long value1, Long value2) {
            return notBetween(spreadFrom, value1, value2);
        }
    }
}